home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / game / patch / WHDIGamesS-T.lzh / Spellbound.lha / Install < prev    next >
Text File  |  1980-01-08  |  3KB  |  156 lines

  1. ;****************************    ;Spellbound installer by Galahad
  2.  
  3. (set #sub-dir "data")        ;sub directory containing data files
  4. (set #readme-file "ReadMe")    ;name of readme file
  5. (set #cleanup "")        ;files to delete after install
  6.  
  7. ;****************************
  8. ;----------------------------
  9. ; checks if given program is installed, if not abort install
  10. ; #program - to check
  11.  
  12. (procedure P_ChkRun
  13.   (if
  14.     (= 0 (run ("cd SYS:\nWhich %s" #program)))
  15.     ("")
  16.     (abort
  17.       (cat
  18.     "You must install \"" #program "\" first!\n"
  19.     "It must be accessible via the path.\n"
  20.     "You can find it in the WHDLoad package."
  21.       )
  22.     )
  23.   )
  24. )
  25.  
  26. ;----------------------------
  27. ; Wait for inserting disk
  28. ; IN:  #AD_disk - name of disk
  29. ; OUT: -
  30.  
  31. (procedure P_disk
  32.   (askdisk
  33.     (dest #AD_disk)
  34.     (prompt ("\nInsert Disk \"%s\" in any drive!" #AD_disk))
  35.     (help @askdisk-help)
  36.   )
  37. )
  38.  
  39. ;****************************
  40.  
  41. (if
  42.   (exists #readme-file)
  43.   (if
  44.     (= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
  45.     ("")
  46.     (run ("SYS:Utilities/More %s" #readme-file))
  47.   )
  48. )
  49.  
  50. (set #program "WHDLoad")
  51. (P_ChkRun)
  52.  
  53. (set @default-dest
  54.   (askdir
  55.     (prompt ("Where should \"%s\" be installed?\nA drawer \"%s\" will be automatically created." @app-name @app-name))
  56.     (help @askdir-help)
  57.     (default @default-dest)
  58.     (disk)
  59.   )
  60. )
  61. (set #dest (tackon @default-dest @app-name))
  62. (if
  63.   (exists #dest)
  64.   (
  65.     (set #choice
  66.       (askbool
  67.         (prompt ("\nDirectory \"%s\" already exists.\n Should it be deleted?" #dest))
  68.         (default 1)
  69.         (choices "Delete" "Skip")
  70.         (help @askbool-help)
  71.       )
  72.     )
  73.     (if
  74.       (= #choice 1)
  75.       (run ("Delete \"%s\" \"%s.info\" All" #dest #dest))
  76.     )
  77.   )
  78. )
  79. (makedir #dest
  80.   (help @makedir-help)
  81.   (infos)
  82. )
  83.  
  84. ;----------------------------
  85.  
  86. (copyfiles
  87.   (help @copyfiles-help)
  88.   (source ("Spellbound.Slave"))
  89.   (dest #dest)
  90. )
  91.  
  92. (copyfiles
  93.   (help @copyfiles-help)
  94.   (source ("Spellbound.info"))
  95.   (dest #dest)
  96. )
  97. (copyfiles
  98.   (help @copyfiles-help)
  99.   (source ("Imager"))
  100.   (dest #dest)
  101. )
  102.  
  103. (if
  104.   (exists #readme-file)
  105.   (copyfiles
  106.     (help @copyfiles-help)
  107.     (source #readme-file)
  108.     (dest #dest)
  109.   )
  110. )
  111. (if
  112.   (exists ("%s.info" #readme-file))
  113.   (
  114.     (copyfiles
  115.       (help @copyfiles-help)
  116.       (source ("%s.info" #readme-file))
  117.       (dest #dest)
  118.     )
  119.     (tooltype
  120.       (dest (tackon #dest #readme-file))
  121.       (noposition)
  122.     )
  123.   )
  124. )
  125. (if
  126.   (= #sub-dir "")
  127.   ("")
  128.   (
  129.     (set #dest (tackon #dest #sub-dir))
  130.     (makedir #dest
  131.       (help @makedir-help)
  132.     )
  133.   )
  134. )
  135. ;----------------------------
  136. (run
  137.     (cat
  138.     "cd \"" #dest "\"\n")
  139. )
  140. (run ("Imager")
  141. )
  142.  
  143. (copyfiles
  144.   (help @copyfiles-help)
  145.   (source ("RAM:"))
  146.   (dest #dest)
  147.   (pattern "GLDFLT.#?")            ;Copy files created by Imager!
  148. )
  149.  
  150.  
  151. ;----------------------------
  152.  
  153. (run ("Delete RAM:GLDFLT.#? ALL QUIET FORCE" #cleanup))
  154.  
  155. (exit)
  156.